package br.iars.model.recommendation;

import java.util.List;

import javax.ejb.Local;

import br.iars.model.entity.Context;
import br.iars.model.entity.Item;
import br.iars.model.entity.Preference;
import br.iars.model.entity.User;
import br.iars.model.exception.PersistenceException;

@Local
public interface RecommendationDataModel {

	void setPreference(Preference preference) throws PersistenceException;

	List<Preference> recommend(Context context, User user, Integer quantity, Boolean isOnlyOwnContext) throws PersistenceException;

	Float estimatePreference(Context context, User user, Item item, Boolean isOnlyOwnContext) throws PersistenceException;
	
	long[] getNeighbors(Context context, User user, Boolean isOnlyOwnContext) throws PersistenceException;
}
